Some digital data streams, especially high-speed serial data streams such as the raw stream of data from the magnetic head of a disk drive or video delivered over the internet, may be sent without an accompanying clock signal. The receiver may generate a clock from an approximate frequency reference, and then phase-align to the transitions in the data stream using a phase-locked loop (PLL). This process is commonly known as clock and data recovery (CDR). It may be related to the problem of carrier recovery, which is the process of recreating a phase-locked version of the carrier when a suppressed carrier modulate scheme is used.
A particular challenge with digital data streams is recovering the transmitter clock when no data from the original clock exists. In video over Internet Protocol (IP), the data is encoded into internet packets and is sent to the receiver with an internet-rate clock. This internet-rate clock has no relation to the underlying video signal. Network congestion and other uncertainties may delay, re-route or completely lose a video packet. All of this may result in an individual packet timing having no relationship to the video transmitter clock.
One example of a situation where clock recovery is needed is the delivery of video streams over the internet. New video standards for internet delivery also present challenges to ensuring high quality video to a user. Internet delivery has become popular and is widely used. Video delivered over the internet may have skipped or duplicated video frames. Previously, a typical solution for the above problem for mismatched transmitter and receiver clocks is the use of a video frame buffer that will skip or duplicate a single frame of the video stream. Embodiments described herein provide a method and apparatus for clock recovery that eliminate the need for such a frame buffer.
There is a need for a method of clock generation that complies with jitter limitations of the standards and other equipment, and is also able to operate in the presence of imperfect data transmission (including lost or delayed packets).